In a data center, many processors may be operating and running a multitude of applications at any given time. A scheduler, or scheduling software, may determine on which processor an application is to be run. Each processor may have access for storing information in a cache, such as a level 3 (L3) cache, that is associated with the processor. Additionally, each processor may include multiple compute units, (e.g., cores, core pairs, threads), that can run different applications within the processor concurrently. The L3 cache may be divided into several subcaches, physically located near the compute units such that one subcache is the nearest to a particular compute unit. When an application is running on a processor, information relating to that application is stored in, and extracted out of, one or more L3 subcaches. While the application is running, whichever of the L3 subcaches that are utilized have affinity with the processor that is running the application. Latencies of messages routed to and from a subcache are affected by its proximity to a compute unit that is accessing the subcache.